iT邦幫忙

2023 iThome 鐵人賽

DAY 6
0

Info

Walkthrough

  • 存取網頁後使用帳號和上關獲取的密碼登入,看到網頁又寫說 Access disallowed,但後面敘述改成我還沒登入 (You are not logged in)
    • Imgur
  • Ctrl + Shift + iF12 開啟 DevTools,選擇 Storage (Chrome 的在 Application) 查看 Cookies,發現存有 loggedin 且值為 0,推測用來判斷使用者的登入狀態
    • Imgur
  • 雙擊欄位,將 loggedin 修改成 1
    • Imgur
  • 重新整理後成功獲得下題的登入密碼
    • Imgur

Note

  • 因為 Cookie 存放在用戶端,可被使用者任意增刪與修改,如果沒有檢查 Cookie 合法與完整性,就會導致攻擊者可透過調整 Cookie 繞過身分驗證等 (例如此關的控制登入狀態)
  • Cookie 通常會儲存網站回傳的 Session ID 等,並再附於後續的 request 中,交給網站 (server side) 判斷該 Session ID 對應使用者的登入狀態
  • 安全相關 Cookie 也應有不可預測性 (i.e., 夠亂夠隨機),可以搭配 Burp Suite 的 Sequencer 來檢查
    1. 可參考 Day 0x02 Natas Level 0 → Level 1 的方法開啟 Burp Suite,並選擇帶有 loggedin 的 request,透過右鍵或 action 等方式 Send to Sequencer
      • Imgur
    2. 進入到 Sequencer 查看,發現已自動識別要分析的欄位,例如目前是 loggedin=0,若無誤則按下 Start live capture
      • Imgur
    3. 當達到一定數量後就可按下 Analyze now 分析結果,透過 SummaryOverall result 可見結果為 extremely poor,因為都是 0 完全不會更動,有其他諸多結果供進一步分析,有興趣可參考 Burp Sequencer - PortSwigger
      • Imgur

Summary

  • 相關弱點:
  • 弱點原因:
    • 網站根據 Cookie 中 loggined 判斷使用者是否已登入,進而授權可存取敏感資料
  • 修補建議:
    • 改由 server side 驗證 Cookie 合法與完整性,並限制使用效期來緩解攻擊的利用範圍;另建議立即更換密碼,以減少資訊洩漏的風險

Reference


上一篇
Day 0x05 Natas Level 3 → Level 4
下一篇
Day 0x07 Natas Level 5 → Level 6
系列文
Natas 網頁安全:從入門到放棄35
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言